package com.example.filter;
//
//
//import com.alibaba.fastjson.JSON;
//import com.example.common.BaseContext;
//import com.example.common.R;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.util.AntPathMatcher;
//
//import javax.servlet.*;
//import javax.servlet.annotation.WebFilter;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import java.io.IOException;
//
//@Slf4j
//@WebFilter(filterName = "LoginCheckFilter", urlPatterns = "/*")
//public class LoginCheckFilter implements Filter {
//    public static final AntPathMatcher antPathMatcher = new AntPathMatcher();
//
//
//    @Override
//    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
//        HttpServletRequest request = (HttpServletRequest) servletRequest;
//        HttpServletResponse response = (HttpServletResponse) servletResponse;
//
//
//        String requestURI = request.getRequestURI();
//
//
//        String[] url = new String[]{
//          "/user/login",
//          "/user/register",
//          "/css/*",
//          "/js/*",
//          "/img/*",
//          "/plugins/*",
//          "/login.html",
//          "/register.html",
//          "/forget.html",
//          "/forgettwo.html"
//        };
//
//        boolean check = check(url,requestURI);
//
//        if(check){
//
//            filterChain.doFilter(request, response);
//            return;
//        }
//
//        if(request.getSession().getAttribute("employee")!=null){
//            Long id = (Long) request.getSession().getAttribute("employee");
//            BaseContext.setThreadLocal(id);
//            filterChain.doFilter(request, response);
//            return;
//        }
//
//        if(request.getSession().getAttribute("User")!=null){
//            Long userid = (Long) request.getSession().getAttribute("User");
//            BaseContext.setThreadLocal(userid);
//            filterChain.doFilter(request, response);
//            return;
//        }
//
//
//        response.getWriter().write(JSON.toJSONString(R.error("NOTLOGIN")));
//        response.sendRedirect("/login.html");
//
//
//    }
//
//
//    public boolean check(String[] url,String requestURI){
//
//        for (String s : url) {
//            if (antPathMatcher.match(s, requestURI)) {
//                return true;
//            }
//        }
//        return false;
//    }
//}
